home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Softshoe / Lisa's Portable Parts / Arrays / Array.h < prev    next >
Encoding:
Text File  |  2000-06-23  |  864 b   |  34 lines

  1. // Array.h
  2.  
  3. #ifndef Array_h
  4. #define Array_h
  5.  
  6. #ifndef ArrayOf_h
  7. #include "ArrayOf.h"
  8. #endif
  9.  
  10. template < class Element, uint32 size >
  11. class Array
  12.   {
  13.     typedef ArrayOf<Element> ArrayType;
  14.     typedef ConstArrayOf<Element> ConstArrayType;
  15.     
  16.     private:
  17.         Element elements[ size ];
  18.         
  19.     public:
  20.         Element *Start()                                            { return elements; }
  21.         Element *End()                                                { return elements+size; }
  22.         
  23.         const Element *Start() const                            { return elements; }
  24.         const Element *End() const                                { return elements + size; }
  25.         
  26.         operator ArrayType()                                        { return ArrayType( elements, size ); }
  27.         operator ConstArrayType() const                        { return ConstArrayType( elements, size ); }
  28.  
  29.         Element& operator[]( uint32 i )                        { Assert( i < size ); return elements[ i ]; }
  30.         const Element& operator[]( uint32 i ) const        { Assert( i < size ); return elements[ i ]; }
  31.   };
  32.  
  33. #endif
  34.